package com.jdbc;

import com.jdbc.util.DbUtil;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * 要求使用JDBC技术向class表中写入一条数据
 * 要求：
 * 1)要防止SQL注入
 * 2)将连接的对象的获取提取到一个工具类中
 * 3)基于jdk7的新特性(try的新玩法)，省略我们自己关闭资源的动作
 */
public class JdbcDemo06 {
    public static void main(String[] args) throws SQLException{
        String sql="insert into class(id,name,floor,teacher_id) values (?,?,?,?)";
        try( //1.建立连接
            Connection conn=DbUtil.getConnection();
            //2.创建Statement对象
            PreparedStatement pstmt=conn.prepareStatement(sql);){
            //3.发送sql
            //3.1为sql中的?赋值
            pstmt.setInt(1,3);
            pstmt.setString(2,"C");
            pstmt.setInt(3,2);
            pstmt.setInt(4,2);
            //3.2发送sql
            int rows=pstmt.executeUpdate();
            //4.处理结果
            System.out.println("insert ok,rows="+rows);
        }catch (SQLException e){
            e.printStackTrace();
            throw e;
        }
    }
}
